/****************************************
Figure A.6, Table A.12
*****************************************/

* Load Data
use "$dir/Data/Final/final_collapsed_flhocc.dta", clear
	
gen i = birthstatefip
gen t = (birthdecade/10) + 1 // someone who is 10 when ban is put in place is treated (time 0)
gen Ei = floor(year_of_ban/10) 	// decade when unit is first treated
gen K = t-Ei 			// "relative time" num decades since treated (could be missing if never-treated)



forvalues l = 1/6 {
	gen A`l'event = K==-`l'
}

forvalues l = 0/6 {
	gen P`l'event = K==`l'
}

gen insample6treat = abs(K) <= 6 & K != .


* Interaction treatment vars
forvalues pre = 6(-1)2 {
	cap n gen cmH_Pre`pre' = cmH * A`pre'event
}

forvalues post = 0/6 {
	cap n gen cmH_Post`post' = cmH * P`post'event
}

forvalues x = 0/6 {
	cap label var cmH_Pre`x' "Pre `x'"
	cap label var cmH_Post`x' "Post `x'"
}




replace Ei = . if cmH == 0 /* Treating low CM surnames as never having faced a ban */
gen nevertreated = Ei == . /* this includes low CM surnames and those that never faced a ban */

drop if year_of_ban > 1940 /* this drops all states that banned after 1940 or never banned because they
have year of ban value missing, so control group is low cousin marriage surnames in states that banned
by 1940 */


keep if insample6treat == 1


** Transforming and labelling outcome variables **

gen ln_citypop = ln(citypop)
gen ln_occscore = ln(occscore)


label var birthdecade "Birth decade"
label var cmH ">10% cousin marriage rate (-1858)"
label var birthstatefip "Birth state"
label var resstatefip "Residence state"
label var year "Census year"
label var count_dor "Num census individuals in cell"
label var occscore "Occscore"
label var citypop "City size"
label var ln_occscore "Income (log occscore)"
label var ln_citypop "Urbanization (log residence pop'n)"


label var high1850_farm "High vs Low Farm Status (1850)"
label var high1850_realprop "High vs Low Real-Estate Wealth (1850)"


foreach v of varlist(ln_occscore_nm-ln_citypop_nm){
	label var `v' "Number of individuals with non-missing outcome in cell"
}


compress

/**************************************
Figure A.6, panel 1
**************************************/

eststo clear

eventstudyinteract ln_occscore ///
	cmH ///
    cmH_P* ///
	[aweight = ln_occscore_nm] if high1850_realprop == 0, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
	matrix sab_fp1 = e(b_iw) 
    matrix sav_fp1 = e(V_iw)
	
	
eventstudyinteract ln_occscore ///
	cmH ///
    cmH_P* ///
	[aweight = ln_occscore_nm] if high1850_realprop == 1, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
	matrix sab_fp2 = e(b_iw) 
    matrix sav_fp2 = e(V_iw)
	
	
	event_plot sab_fp1#sav_fp1 sab_fp2#sav_fp2, default_look ///
	stub_lag(cmH_Post# cmH_Post#) stub_lead(cmH_Pre# cmH_Pre#) ///
		 plottype(scatter) ciplottype(rcap) ///
	together  trimlead(6) noautolegend ///
	graph_opt(title("", size(medlarge)) ///
		xtitle("Birth decade relative to ban (+1)") ytitle("Income (log occscore)") xlabel(-6(1)6) ylabel(-0.1(0.02)0.1) ///
		legend(order(1 "Low Real Estate Wealth" 3 "High Real Estate Wealth") position(6) rows(3) region(style(none))) ///
	/// the following lines replace default_look with something more elaborate
		xline(-0.5, lcolor(gs8) lpattern(dash)) yline(0, lcolor(gs8)) graphregion(color(white)) bgcolor(white) ylabel(, angle(horizontal)) ///
		) ///
	lag_opt1(msymbol(+) color(cranberry)) lag_ci_opt1(color(cranberry)) ///
	lag_opt2(msymbol(Dh) color(black)) lag_ci_opt2(color(black)) 
	graph export "Output/TablesFigures/FigIncome_RealpropHet.png", replace

/**************************************
Figure A.6, panel 2
**************************************/	

eventstudyinteract ln_citypop ///
	cmH ///
    cmH_P* ///
	[aweight = ln_citypop_nm] if high1850_realprop == 0, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
	matrix sab_fp1 = e(b_iw) 
    matrix sav_fp1 = e(V_iw)
	
	
eventstudyinteract ln_citypop ///
	cmH ///
    cmH_P* ///
	[aweight = ln_citypop_nm] if high1850_realprop == 1, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
	matrix sab_fp2 = e(b_iw) 
    matrix sav_fp2 = e(V_iw)
	
	
	event_plot sab_fp1#sav_fp1 sab_fp2#sav_fp2, default_look ///
	stub_lag(cmH_Post# cmH_Post#) stub_lead(cmH_Pre# cmH_Pre#) ///
		 plottype(scatter) ciplottype(rcap) ///
	together  trimlead(6) noautolegend ///
	graph_opt(title("", size(medlarge)) ///
		xtitle("Birth decade relative to ban (+1)") ytitle("Urbanization (log residence pop'n)") xlabel(-6(1)6) ylabel(-0.7(0.1)0.7) ///
		legend(order(1 "Low Real Estate Wealth" 3 "High Real Estate Wealth") position(6) rows(3) region(style(none))) ///
	/// the following lines replace default_look with something more elaborate
		xline(-0.5, lcolor(gs8) lpattern(dash)) yline(0, lcolor(gs8)) graphregion(color(white)) bgcolor(white) ylabel(, angle(horizontal)) ///
		) ///
	lag_opt1(msymbol(+) color(cranberry)) lag_ci_opt1(color(cranberry)) ///
	lag_opt2(msymbol(Dh) color(black)) lag_ci_opt2(color(black)) 
	graph export "Output/TablesFigures/FigUrbanization_RealpropHet.png", replace

	
	
/**************************************
Table A.12
**************************************/

eventstudyinteract ln_citypop ///
	cmH ///
    cmH_P* ///
	[aweight = ln_citypop_nm] if high1850_realprop == 1, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
    matrix b_iw = e(b_iw) // Save the results for table output
 	matrix V_iw = e(V_iw)
	capture matrix V_iw = diag(e(V_iw))
 	erepost b = b_iw V = V_iw // ssc install erepost
 	esttab
	eststo A1
	sum ln_citypop if e(sample) == 1 [fw = ln_citypop_nm]
	local obs1 =  r(N)
    su ln_citypop [aw = ln_citypop_nm] if e(sample) == 1
    local meanA = string(round(r(mean), .01))
 
	
eventstudyinteract ln_citypop ///
	cmH ///
    cmH_P* ///
	[aweight = ln_citypop_nm] if high1850_realprop == 0, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
    matrix b_iw = e(b_iw) // Save the results for table output
 	matrix V_iw = e(V_iw)
	capture matrix V_iw = diag(e(V_iw))
 	erepost b = b_iw V = V_iw // ssc install erepost
 	esttab
	eststo A2
	sum ln_citypop if e(sample) == 1 [fw = ln_citypop_nm]
	local obs2 =  r(N)
    su ln_citypop [aw = ln_citypop_nm] if e(sample) == 1
    local meanB = string(round(r(mean), .01))
 

eventstudyinteract ln_occscore ///
	cmH ///
    cmH_P* ///
	[aweight = ln_occscore_nm] if high1850_realprop == 1, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
    matrix b_iw = e(b_iw) // Save the results for table output
 	matrix V_iw = e(V_iw)
	capture matrix V_iw = diag(e(V_iw))
 	erepost b = b_iw V = V_iw // ssc install erepost
 	esttab
	eststo A3
	sum ln_occscore if e(sample) == 1 [fw = ln_occscore_nm]
	local obs3 =  r(N)
    su ln_occscore [aw = ln_occscore_nm] if e(sample) == 1
    local meanC = string(round(r(mean), .01))
 
	
eventstudyinteract  ln_occscore ///
	cmH ///
    cmH_P* ///
	[aweight = ln_occscore_nm] if high1850_realprop == 0, absorb(i.i##i.t i.year i.i##i.cmH) vce(cluster i) ///
	cohort(Ei) control_cohort(nevertreated)
	
    matrix b_iw = e(b_iw) // Save the results for table output
 	matrix V_iw = e(V_iw)
	capture matrix V_iw = diag(e(V_iw))
 	erepost b = b_iw V = V_iw // ssc install erepost
 	esttab
	eststo A4
	sum ln_occscore if e(sample) == 1 [fw = ln_occscore_nm]
	local obs4 =  r(N)
    su ln_occscore [aw = ln_occscore_nm] if e(sample) == 1
    local meanD = string(round(r(mean), .01))
 
	
	
estout A1 A2 A3 A4 using "$dir/Output/TablesFigures/results_realprophet.tex", style(tex) replace ///
    keep(cmH_*) ///
	cells(b(star fmt(%9.4f)) se(par)) ///
	nolabel collabels(none) mlabels(none) starlevels(* 0.10 ** 0.05 *** 0.01) ///
	varlabels(cmH_Pre6 "-6" cmH_Pre5 "-5" ///
	cmH_Pre4 "-4" cmH_Pre3 "-3" ///
	cmH_Pre2 "-2" cmH_Post0 "0" ///
	cmH_Post1 "1" cmH_Post2 "2" ///
	cmH_Post3 "3" cmH_Post4 "4" ///
	cmH_Post5 "5" cmH_Post6 "6")

local tex " \\ \hline"
local tex "`tex' Observations & `obs1' & `obs2'  & `obs3' & `obs4' \\"
local tex "`tex' Mean Dep. Var & `meanA' & `meanB'  & `meanC' & `meanD'   \\"
local tex "`tex' State X Birth Decade FE & Yes & Yes  & Yes & Yes \\"
local tex "`tex' State X High CM F.E. & Yes & Yes  & Yes & Yes  \\"
local tex "`tex' Census year F.E. & Yes & Yes  & Yes & Yes \\"
local tex "`tex' \multicolumn{5}{p{8cm}}{\tiny \textit{Notes:} Standard errors clustered at state-level."
local tex "`tex' *** p<0.01, ** p<0.05, * p<0.1.} \\ \end{tabular} }"
	
esttab A1 A2  A3 A4  using "$dir/Output/TablesFigures/results_realpropheta.tex", style(tex) replace booktabs ///
	d(*) nolabel collabels(none) noobs postfoot("`tex'") nonum ///
	mtitles("(1)" "(2)" "(3)" "(4)") ///
	mgroups("High-Realprop" "Low-Realprop" "High-Realprop" "Low-Realprop", pattern(1 1 1 1) ///
	prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span}))
	
